import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-3,3,50)

y1 = 2*x +1
y2 = x**2

# plt.figure()
# plt.plot(x,y1)

plt.figure(num=3,figsize=(8,5))

plt.xlim((-1,2))
plt.ylim((-2,3))
plt.xlabel("I am x")
plt.ylabel("I am y")

# 用ticks更换小标
new_ticks = np.linspace(-1,2,5)
# print(new_ticks)
plt.xticks(new_ticks)
plt.yticks([-2,-1.2,0.5,1.6,3],
            [r"$really\ bad$",r"$bad$",r"$normal$",r"$good$",r"$very\ good$"]) #  这里可以使用 latex 语法
            # r表示raw字符串
l1,= plt.plot(x,y2,label = "up") # plt.plot返回的是一个列表，加逗号是解包写法，只取第一个元素
l2, = plt.plot(x,y1,color = "red",linewidth = 1.0,linestyle = "--",label = "down") # 注意这里不会自动打上标签，需要调用下面的legend函数
# plt.legend()
plt.legend(handles=[l1,l2],labels=["aaa","bbb"],loc="upper right") # handles相当于手动控制，使用handles时上面的l1,l2必须加逗号 loc默认为"best"

plt.show()